package com.qfedu.spring.springmvc.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.qfedu.spring.springmvc.util.MySerializer;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author zhang
 * @Title: commonValidateAdd
 * @date : 2022/4/29 13:57
 */
@Data
@JsonInclude(JsonInclude.Include.NON_EMPTY) // 值序列化非 null 属性，null 值的就忽略
public class User {

    private Integer id;
    //在json序列化的时候，单独指定的别名，前端传递的是username
    //@JsonProperty("username")
    //@JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String name;
    //前端传递的时候不接收这个属性，后端返回前端的时候也不序列化这个属性
    //@JsonIgnore
    private Integer age;
    //数据库照应前端传递的Date 格式--》string
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    //json序列化使用注解
    // timezone: 指定时区的GMT+8 东八区十家【北京时间】GMT格林威治标准时间+8
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date  birthday;

    @JsonSerialize(using = MySerializer.class)
    private Double salary;

}
